home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / Library / users.h < prev    next >
C/C++ Source or Header  |  1995-06-23  |  4KB  |  149 lines

  1. struct UserNode {
  2.     struct Node un_Node;
  3.     struct SignalSemaphore un_Semaphore;
  4.     BYTE un_UserName[33];
  5.     BYTE un_RealName[31];
  6.     BYTE un_UUCPName[9];
  7.     struct TagItem *un_Offsets;
  8.     struct TagItem *un_Pointers;
  9. };
  10.  
  11. struct OffsetStruct {
  12.     ULONG os_Type;
  13.     ULONG os_Offset;
  14. };
  15.  
  16. #define UNTAG_UserInfo TAG_USER+1
  17.  
  18. struct UserInfo {
  19.     BYTE ui_Password[11];
  20.     BYTE ui_Address[31];
  21.     BYTE ui_City[21];
  22.     BYTE ui_State[21];
  23.     BYTE ui_Zip[11];
  24.     BYTE ui_Country[4];
  25.     BYTE ui_PhoneCode[7];
  26.     BYTE ui_PhoneNumber[9];
  27.     UBYTE ui_BirthDay;
  28.     UBYTE ui_BirthMonth;
  29.     UWORD ui_BirthYear;
  30. };
  31.  
  32. #define UNTAG_UserAccess TAG_USER+2
  33.  
  34. struct UserAccess {
  35.     UBYTE ua_AccessLevel;
  36.     UWORD ua_SessionTimeLimit;
  37.     UWORD ua_InactivityTimeLimit;
  38.     UBYTE ua_RatioByte;
  39.     UBYTE ua_RatioFile;
  40.     ULONG ua_Days;
  41. };
  42.  
  43. #define UNTAG_UserPrefs TAG_USER+3
  44.  
  45. struct UserPrefs {
  46.     UBYTE up_ScreenWidth;
  47.     UBYTE up_ScreenHeight;
  48.     BYTE up_LogonStack[21];
  49.     BYTE up_Editor[33];
  50.     BYTE up_Protocol[33];
  51.     BYTE up_Archiver[33];
  52.     ULONG up_Flags;
  53. };
  54.  
  55. #define UPFLG_HotKeys (1<<0)
  56. #define UPFLG_NoMenus (1<<1)
  57. /*#define UPFLG_MufflePages (1<<2)*/
  58. #define UPFLG_NoUserMonitor (1<<3)
  59. /*#define UPFLG_NoChatRequest (1<<4)*/
  60.  
  61. #define UNTAG_UserStats TAG_USER+4
  62.  
  63. struct UserStats {
  64.     ULONG us_Sessions;
  65.     ULONG us_EmailRead;
  66.     ULONG us_EmailWritten;
  67.     ULONG us_MessagesRead;
  68.     ULONG us_MessagesWritten;
  69.     ULONG us_FilesUploaded;
  70.     ULONG us_FilesDownloaded;
  71.     ULONG us_FilesCredits;
  72.     ULONG us_KilosUploaded;
  73.     ULONG us_KilosDownloaded;
  74.     ULONG us_KilosCredits;
  75.     struct DateStamp us_LastOn;
  76.     UWORD us_TimeUsed;
  77. };
  78.  
  79. Tag usernode_tags[]={ UNTAG_UserInfo,UNTAG_UserAccess,UNTAG_UserPrefs,UNTAG_UserStats,TAG_END };
  80.  
  81.  
  82. /* file commands */
  83.  
  84. #define USRCMD_Begin 1
  85. #define USRCMD_Field 2
  86. #define USRCMD_End 3
  87.  
  88.  
  89. /* field types */
  90.  
  91. #define USRFLD_UserName 1
  92. #define USRFLD_RealName 2
  93. #define USRFLD_UUCPName 3
  94. #define USRFLD_Offset   4
  95.  
  96. #define USRFLD_Password 1
  97. #define USRFLD_Address 2
  98. #define USRFLD_City 3
  99. #define USRFLD_State 4
  100. #define USRFLD_Zip 5
  101. #define USRFLD_Country 6
  102. #define USRFLD_PhoneCode 7
  103. #define USRFLD_PhoneNumber 8
  104. #define USRFLD_BirthDay 9
  105. #define USRFLD_BirthMonth 10
  106. #define USRFLD_BirthYear 11
  107.  
  108. #define USRFLD_AccessLevel 1
  109. #define USRFLD_SessionTimeLimit 2
  110. #define USRFLD_InactivityTimeLimit 3
  111. #define USRFLD_RatioByte 4
  112. #define USRFLD_RatioFile 5
  113. #define USRFLD_Days 6
  114.  
  115. #define USRFLD_ScreenWidth 1
  116. #define USRFLD_ScreenHeight 2
  117. #define USRFLD_LogonStack 3
  118. #define USRFLD_Editor 4
  119. #define USRFLD_Protocol 5
  120. #define USRFLD_Archiver 6
  121. #define USRFLD_Flags 7
  122.  
  123. #define USRFLD_Sessions 1
  124. #define USRFLD_EmailRead 2
  125. #define USRFLD_EmailWritten 3
  126. #define USRFLD_MessagesRead 4
  127. #define USRFLD_MessagesWritten 5
  128. #define USRFLD_FilesUploaded 6
  129. #define USRFLD_FilesDownloaded 7
  130. #define USRFLD_FilesCredits 8
  131. #define USRFLD_KilosUploaded 9
  132. #define USRFLD_KilosDownloaded 10
  133. #define USRFLD_KilosCredits 11
  134. #define USRFLD_LastOn 12
  135. #define USRFLD_TimeUsed 13
  136.  
  137. /* tag attrs */
  138. Tag usr_get_tags[]={ USRTAG_Name,USRTAG_UserName,USRTAG_RealName,USRTAG_UUCPName,USRTAG_Exists,USRTAG_Next,USRTAG_NextReturn,TAG_END };
  139. Tag usr_set_tags[]={ USRTAG_Name,USRTAG_UserName,USRTAG_RealName,USRTAG_UUCPName,USRTAG_ForceSave,USRTAG_DontSave,TAG_END };
  140. Tag usr_add_tags[]={ USRTAG_UserName,USRTAG_RealName,USRTAG_UUCPName,USRTAG_DontSave,TAG_END };
  141. Tag usr_rem_tags[]={ USRTAG_Name,USRTAG_DontSave,TAG_END };
  142. Tag usr_load_tags[]={ USRTAG_Name,TAG_END };
  143. Tag usr_unload_tags[]={ USRTAG_Name,TAG_END };
  144.  
  145. Tag usrinfo_tags[]={ USRTAG_Password,USRTAG_Address,USRTAG_City,USRTAG_State,USRTAG_Zip,USRTAG_Country,USRTAG_PhoneCode,USRTAG_PhoneNumber,USRTAG_BirthDay,USRTAG_BirthMonth,USRTAG_BirthYear,TAG_END };
  146. Tag usraccess_tags[]={ USRTAG_AccessLevel,USRTAG_SessionTimeLimit,USRTAG_InactivityTimeLimit,USRTAG_RatioByte,USRTAG_RatioFile,USRTAG_Days,TAG_END };
  147. Tag usrprefs_tags[]={ USRTAG_ScreenWidth,USRTAG_ScreenHeight,USRTAG_LogonStack,USRTAG_Editor,USRTAG_Protocol,USRTAG_Archiver,USRTAG_HotKeys,USRTAG_Menus,USRTAG_UserMonitor,TAG_END };
  148. Tag usrstats_tags[]={ USRTAG_Sessions,USRTAG_EmailRead,USRTAG_EmailWritten,USRTAG_MessagesRead,USRTAG_MessagesWritten,USRTAG_FilesUploaded,USRTAG_FilesDownloaded,USRTAG_FilesCredits,USRTAG_KilosUploaded,USRTAG_KilosDownloaded,USRTAG_KilosCredits,USRTAG_LastOn,USRTAG_TimeUsed,TAG_END };
  149.